home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / mail / mailx6 / _setup.1 / CHILDWIN.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-04-19  |  3.0 KB  |  125 lines

  1. unit Childwin;
  2.  
  3. interface
  4.  
  5. uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, StdCtrls,
  6.   openMsg, MXMAILX;
  7.  
  8. {$I mailxdef.int}
  9.  
  10. type
  11.   TMDIChild = class(TForm)
  12.     MsgList: TListBox;
  13.     btnHide: TButton;
  14.     btnOpenMsg: TButton;
  15.     btnRefresh: TButton;
  16.     btnSort: TCheckBox;
  17.     btnUnread: TCheckBox;
  18.     MXMessage1: TMXMessage;
  19.     MXForm1: TMXForm;
  20.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  21.     procedure btnHideClick(Sender: TObject);
  22.     procedure btnRefreshClick(Sender: TObject);
  23.     procedure FormCreate(Sender: TObject);
  24.     procedure btnOpenMsgClick(Sender: TObject);
  25.     procedure NewMsgWnd;
  26.     procedure MsgListDblClick(Sender: TObject);
  27.   private
  28.     { Private declarations }
  29.   public
  30.     { Public declarations }
  31.   end;
  32.  
  33. implementation
  34.  
  35. {$R *.DFM}
  36.  
  37.  
  38. procedure TMDIChild.FormClose(Sender: TObject; var Action: TCloseAction);
  39. begin
  40.   Action := caFree;
  41. end;
  42.  
  43. procedure TMDIChild.btnHideClick(Sender: TObject);
  44. begin
  45.      Close;
  46. end;
  47.  
  48. procedure TMDIChild.btnRefreshClick(Sender: TObject);
  49. begin
  50.      if BtnUnread.State=cbChecked then MXMessage1.UnreadOnly:=TRUE
  51.      else MXMessage1.UnreadOnly:=FALSE;
  52.  
  53.      if BtnSort.State=cbChecked then MXMessage1.SortMsg:=TRUE
  54.      else MXMessage1.SortMsg:= FALSE;
  55.      MsgList.Clear;
  56.      MXMessage1.Action:= ACTION_FINDFIRST;
  57.  
  58.      While MXMessage1.FetchMsg <> 0 Do
  59.      begin
  60.           MsgList.Items.Add(MXMessage1.Subject);
  61.           MXMessage1.Action:= ACTION_FINDNEXT;
  62.      end;
  63. end;
  64.  
  65. procedure TMDIChild.FormCreate(Sender: TObject);
  66. begin
  67.      btnRefreshClick(Self);
  68. end;
  69.  
  70. procedure TMDIChild.btnOpenMsgClick(Sender: TObject);
  71. var
  72.    Index: Integer;
  73. begin
  74.      Index:= MsgList.ItemIndex;
  75.      if Index=-1 then
  76.      begin
  77.           Application.MessageBox('Select a Mail Message from List',
  78.                                  'Mail X Demo for DELPHI',
  79.                                  MB_ICONSTOP);
  80.      end
  81.      else
  82.      begin
  83.           MXMessage1.FetchMsg:=Index+1;
  84.           NewMsgWnd;
  85.      end;
  86.  
  87. end;
  88.  
  89.  
  90. procedure TMDIChild.NewMsgWnd;
  91. var
  92.    Child: TMsgForm;
  93.    FileNum: Integer;
  94.    Index: Integer;
  95. begin
  96.   Child := TMsgForm.Create(Application);
  97.   Child.MXMessage1.MsgID:=MXMessage1.MsgID;
  98.   Child.szSubject.Text:=Child.MXMessage1.Subject;
  99.   Child.szNoteText.Lines:=Child.MXMessage1.NoteText;
  100.   Child.szTime.Text:=Child.MXMessage1.TimeReceived;
  101.   Child.szMessageID.Text:=Child.MXMessage1.MsgID;
  102.  
  103.   Child.MXRecipient1.ObjRef:=Child.MXMessage1.ObjRef;
  104.   Child.szOriginator.Text:=Child.MXRecipient1.RecipientName;
  105.  
  106.   Child.MXFile1.ObjRef:= Child.MXMessage1.ObjRef;
  107.   FileNum:= Child.MXFile1.FileCount;
  108.  
  109.   For Index:= 1 To FileNum do
  110.   begin
  111.       Child.MXFile1.FileNum:= Index;
  112.       Child.szAttachList.Items.Add(Child.MXFile1.FileName);
  113.   end;
  114.   If FileNum > 0 Then Child.szAttachList.ItemIndex:= 0;
  115.  
  116. end;
  117.  
  118.  
  119. procedure TMDIChild.MsgListDblClick(Sender: TObject);
  120. begin
  121.      btnOpenMsgClick(Sender);
  122. end;
  123.  
  124. end.
  125.